function LoadFile(method,url,sendData,asyncMethod,username,password)
{
	var req = new XMLHttpRequest();
	if(asyncMethod)
	{
		req.open(method,url,true,username,password);
		req.onreadystatechange = asyncMethod;
		req.send(sendData);
	}
	else
	{
		req.open(method,url,false,username,password);
		req.send(sendData);
		return req.responseText;
	}
}

function HttpAsyncRequest(method,url,body,onfinish,onerror,username,password)
{
	var req = new XMLHttpRequest();
	req.open(method,url,true,username,password);
	req.onreadystatechange = function()
	{
		if(req.readyState == 4)
		{
			if(req.status == 200)
			{
				if(onfinish)
					onfinish(req.responseText);
			}
			else if(onerror)
				onerror(req.status < 200 ? req.responseText : req.statusText);
		}
	};
	req.send(body);
}

Element.prototype.goLite = function()
{
	this.style.backgroundColor = "#ec1944";
};
Element.prototype.goDim = function()
{
	this.style.backgroundColor = "#47434a";
};

// on release function
function goLite(FRM,BTN)
{
	window.document.forms[FRM].elements[BTN].goLite();
}
function goDim(FRM,BTN)
{
	window.document.forms[FRM].elements[BTN].goDim();
}

function MM_swapImgRestore()
{ // v3.0
	var i,x,a = document.MM_sr;
	for(i = 0;a && i < a.length && (x = a[i]) && x.oSrc;i++)
		x.src = x.oSrc;
}

function MM_preloadImages()
{ // v3.0
	var d = document;
	if(d.images)
	{
		if(!d.MM_p)
			d.MM_p = new Array();
		var i,j = d.MM_p.length,a = MM_preloadImages.arguments;
		for(i = 0;i < a.length;i++)
			if(a[i].indexOf("#") != 0)
			{
				d.MM_p[j] = new Image;
				d.MM_p[j++].src = a[i];
			}
	}
}
function MM_findObj(n,d)
{ // v4.01
	var p,i,x;
	if(!d)
		d = document;
	if((p = n.indexOf("?")) > 0 && parent.frames.length)
	{
		d = parent.frames[n.substring(p + 1)].document;
		n = n.substring(0,p);
	}
	if(!(x = d[n]) && d.all)
		x = d.all[n];
	for(i = 0;!x && i < d.forms.length;i++)
		x = d.forms[i][n];
	for(i = 0;!x && d.layers && i < d.layers.length;i++)
		x = MM_findObj(n,d.layers[i].document);
	if(!x && d.getElementById)
		x = d.getElementById(n);
	return x;
}

function MM_swapImage()
{ // v3.0
	var i,j = 0,x,a = MM_swapImage.arguments;
	document.MM_sr = new Array;
	for(i = 0;i < (a.length - 2);i += 3)
		if((x = MM_findObj(a[i])) != null)
		{
			document.MM_sr[j++] = x;
			if(!x.oSrc)
				x.oSrc = x.src;
			x.src = a[i + 2];
		}
}

function MouseOver(id,color)
{
	id.style.backgroundColor = color;
}
function MouseOut(id,color)
{
	id.style.backgroundColor = color;
}

// Fade effect function
Element.prototype.fading = function(millisec,begin,end)
{
	if(!typeof (millisec) || !typeof (begin) || !typeof (end))
	{
		alert("Not define correct parameter! " + millisec + "|" + begin + "|" + end);
		return;
	}

	var element = this;
	element.style.opacity = begin / 100;
	element.style.filter = 'alpha(opacity=' + begin + ')';

	var startTime = new Date().getTime();
	var si = null;
	var fading = function()
	{
		var now = new Date().getTime();
		var x = (now - startTime) / millisec;
		if(x >= 1)
		{
			begin = end;
			clearInterval(si);
		}

		var value = begin + (x * (end - begin));
		element.style.opacity = value / 100;
		element.style.filter = 'alpha(opacity=' + value + ')';

		var display = element.style.opacity > 0 ? "inherit" : "none";
		if(display != element.style.display)
			element.style.display = display;
	};

	fading();
	si = setInterval(fading,33);
};

function detect_browser()
{
	var mybrowser = navigator.userAgent;
	mybs = 'Unknow';
	if(mybrowser.indexOf('MSIE') > 0)
	{
		mybs = "IE";
	}
	if(mybrowser.indexOf('Firefox') > 0)
	{
		mybs = "Firefox";
	}
	if(mybrowser.indexOf('Presto') > 0)
	{
		mybs = "Opera";
	}
	if(mybrowser.indexOf('Chrome') > 0)
	{
		mybs = "Chrome";
	}
	return mybs;
}